package Designpatterns.buyers;

import org.apache.log4j.Logger;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;

public class IntermediaryInvocationHandler implements InvocationHandler {
    private Logger  logger = Logger.getLogger(IntermediaryInvocationHandler.class);
    private Object target;
    public void setTarget(Object target){
        this.target= target;
    }
    @Override
    public Object invoke(Object o, Method method, Object[] objects) throws Throwable {
        before();
        Object feedback = method.invoke(target, objects);
        after();
        return  "看房记录：买家反馈"+feedback;
    }
    private void after() {
        logger.debug("后期跟踪");
        logger.debug("和买家沟通意见");
    }

    private void before() {
        logger.debug("前期准备。");
        logger.debug("查找房源。");
        logger.debug("和卖家沟通时间。");

    }
}
